home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / cmln1084.arc / PORTC1.LTG < prev    next >
Text File  |  1986-10-01  |  1KB  |  53 lines

  1.  
  2.  
  3. REGINA -- THIS LISTING HAS PROBLEMS...SEE ME
  4.                           CRAIG
  5.  
  6. /* dgsdefs.h - Definintions for the digital searching routines */
  7.  
  8. #define    TRUE    1
  9. #define    FALSE    0
  10. #define NOSYM    0    /* returned for "no symbol found"    */
  11.  
  12. /* Flag masks for indexed trees    */
  13. #define    SYM    1
  14. #define    SUC    2
  15. #define ALT    4
  16.  
  17. #define    EXACT    TRUE    /* compile 'sdgx' for an exact match */
  18.  
  19. #define galloc()  ((struct tblctrl *)malloc(sizeof(struct tblctrl)))
  20. #define xalloc()  ((struct xtbctrl *)malloc(sizeof(struct xtbctrl)))
  21.  
  22. struct synode
  23. {
  24. char    sym;
  25. short int symno;        /* symbol #    */
  26. struct synode *suc;
  27. struct synode *alt;
  28. };
  29.  
  30. struct llist
  31. {
  32. char *symptr;
  33. short int symno;
  34. struct llist *suc;
  35. };
  36.  
  37. struct tblctrl
  38. {
  39. struct synode    *syptr;    /* pointer to base of actual table    */
  40. int    depth;        /* max depth of the digital search path    */
  41. int    nentry;        /* current # of entries    */
  42. int    nnodes;        /* number of tree nodes*/
  43. int    nlinks;        /* # of links in the linked list*/
  44. int    nchars;        /* # of chars in the residual strings */
  45. };
  46.  
  47. struct xtbctrl
  48. {
  49. char    *tblptr;
  50. int    depth;
  51. int    nentry;
  52. int     size;           /* size in bytes of the table */
  53. };